Interrupts are a well known method of altering the processing flow in a digital data processor in response to an external event. For instance, in a microcomputer which is controlling the operation of an electro-mechanical system, a change of state of the system may require the generation of an interrupt request to trigger the microcomputer to alter its processing flow in order to perform some special function.
Traditionally, a digital data processor has one or more individual wires which are dedicated to receiving interrupt requests. It is the responsibility of external logic to determine when an interrupt is required and to generate an interrupt request signal on the appropriate wire.
In the field of microcomputers, it may be desired to incorporate into the integrated circuit some ability to determine when an interrupt is necessary. This may be accomplished, for example, by software which monitors the state of a data pin of the microcomputer and generates an interrupt request upon the occurence of some event.
However, it has not been practical up to this point to base the generation of an interrupt request on the occurence of an event comprising the states of multiple data pins of a microcomputer, referred to hereinafter as pattern driven interrupt. The software overhead involved in monitoring multiple data pins, comparing their values to a desired pattern and generating an interrupt request is too great.